Method and apparatus for generating three-dimensional image

ABSTRACT

A method for generating a three-dimensional (3D) image may detect a current eye position of a user and render a 3D image based on at least one of a previously detected eye position of the user and previously generated stereo images. A cycle at which the current eye position of user is detected and a cycle at which a 3D image is rendered may be asynchronous.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the priority benefit of Korean PatentApplication No. 10-2014-0169678, filed on Dec. 1, 2014, in the KoreanIntellectual Property Office, the entire contents of which areincorporated herein by reference in its entirety.

BACKGROUND

1. Field

At least one example embodiment relates to a method and/or apparatus forgenerating a three-dimensional (3D) image, and more particularly, to amethod and/or apparatus for generating the 3D image in which a pluralityof processes are asynchronously operated.

2. Description of the Related Art

Three-dimensional (3D) video displays may be categorized as a glassestype display and a glasses-free type display. A method of providing a 3Dvideo in a glasses-free type display may provide left and right imagesto both eyes of a user. To provide the images of the left and rightimages to the respective eyes, positions of the right eye and the lefteye may be tracked. For example, positions of the right eye and the lefteye may be detected, and a 3D video may be provided based on thedetected positions. When the positions of the right eye and the left eyechange (i.e., a user changes position), a user may view a 3D videohaving a deteriorated image quality.

SUMMARY

At least one example embodiment relates to a method of generating athree-dimensional (3D) image.

In at least one example embodiment, the method may include detecting aneye position of a user, and rendering a 3D image based on at least oneof an eye position (e.g., a current eye position) of the user detectedin advance and stereo images generated in advance. The detecting and therendering are performed in parallel.

A cycle of the detecting and a cycle of the rendering may beasynchronized.

The rendering may include estimating a current eye position based on astored eye position of the user, and rendering the 3D image based on theestimated current eye position and the stereo images generated inadvance.

The method of generating a 3D image may further include generatingrespective stereo images of both eyes of the user based on the eyeposition of the user detected in advance.

The generating may include estimating a current eye position based on astored eye position of the user, and generating the respective stereoimages based on the estimated current eye position.

The estimating may include calculating a speed vector of numerousdetected eye positions and estimating the current eye position based onthe speed vector.

The generating may include different operation cycles based on types ofcontents to be played.

The method of generating a 3D image may further include receiving animage, and the generating may include generating the stereo images usingthe image.

The generating may include detecting a foreground of the image,calculating a motion vector of the detected foreground, estimating acurrent position of the foreground in the image based on the calculatedmotion vector, and generating the stereo images based on the estimatedposition.

The generating respective stereo images may include generating thestereo images by receiving stereo images generated in advance.

At least one example embodiment relates to an apparatus for generating athree-dimensional (3D) image.

In at least one example embodiment, the apparatus may include an eyetracker configured to detect an eye position (e.g., a current eyeposition) of a user, and a renderer configured to render a 3D imagebased on at least one of an eye position of the user detected in advanceand stereo images generated in advance. The eye tracker and the rendererare performed in parallel.

A cycle at which the eye tracker may be performed and a cycle at whichthe renderer is performed are asynchronized.

The apparatus for generating a 3D image may further include a stereoimage generator configured to generate respective stereo images of botheyes of the user based on the eye position of the user detected inadvance.

The stereo image generator may be configured to estimate a current eyeposition based on a stored eye position of the user, and generate therespective stereo images based on the estimated current eye position.

The stereo image generator may be configured to calculate a speed vectorof numerous detected eye positions, and estimate the current eyeposition based on the speed vector.

The stereo image generator may be configured to include differentoperation cycles based on types of contents to be played

The apparatus for generating a 3D image may further include an imagereceiver configured to receive an image. The stereo image generator maybe configured to generate the stereo images using the image.

The stereo image generator may be configured to detect a foreground ofthe image, calculate a motion vector of the detected foreground,estimate a current position of the foreground in the image based on thecalculated motion vector, and generate the stereo images based on theestimated position.

Additional aspects of example embodiments will be set forth in part inthe description which follows and, in part, will be apparent from thedescription, or may be learned by practice of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects will become apparent and more readilyappreciated from the following description of example embodiments, takenin conjunction with the accompanying drawings of which:

FIG. 1 is a diagram illustrating a viewing of a three-dimensional (3D)video using both eyes of a user according to at least one exampleembodiment;

FIG. 2 is a block diagram illustrating a configuration of a 3D imagegenerating apparatus according to at least one example embodiment;

FIG. 3 is a flowchart illustrating a 3D image generating methodaccording to example embodiments;

FIG. 4 illustrates a time flow of performing an asynchronous 3D imagegenerating method according to at least one example embodiment;

FIG. 5 is a flowchart illustrating a method of generating stereo imagesaccording to at least one example embodiment;

FIG. 6 is a flowchart illustrating a 3D image generating methodaccording to at least one example embodiment; and

FIG. 7 is a flowchart illustrating a 3D image generating methodaccording to still at least one example embodiment.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

Hereinafter, some example embodiments will be described in detail withreference to the accompanying drawings. Regarding the reference numeralsassigned to the elements in the drawings, it should be noted that thesame elements will be designated by the same reference numerals,wherever possible, even though they are shown in different drawings.Also, in the description of embodiments, detailed description ofwell-known related structures or functions will be omitted when it isdeemed that such description will cause ambiguous interpretation of thepresent disclosure.

It should be understood, however, that there is no intent to limit thisdisclosure to the particular example embodiments disclosed. On thecontrary, example embodiments are to cover all modifications,equivalents, and alternatives falling within the scope of the exampleembodiments. Like numbers refer to like elements throughout thedescription of the figures.

In addition, terms such as first, second, A, B, (a), (b), and the likemay be used herein to describe components. Each of these terminologiesis not used to define an essence, order or sequence of a correspondingcomponent but used merely to distinguish the corresponding componentfrom other component(s). It should be noted that if it is described inthe specification that one component is “connected”, “coupled”, or“joined” to another component, a third component may be “connected”,“coupled”, and “joined” between the first and second components,although the first component may be directly connected, coupled orjoined to the second component.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used herein, thesingular forms “a,” “an,” and “the,” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willbe further understood that the terms “comprises,” “comprising,”“includes,” and/or “including,” when used herein, specify the presenceof stated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

It should also be noted that in some alternative implementations, thefunctions/acts noted may occur out of the order noted in the figures.For example, two figures shown in succession may in fact be executedsubstantially concurrently or may sometimes be executed in the reverseorder, depending upon the functionality/acts involved.

Various example embodiments will now be described more fully withreference to the accompanying drawings in which some example embodimentsare shown. In the drawings, the thicknesses of layers and regions areexaggerated for clarity.

Hereinafter, reference will now be made in detail to examples withreference to the accompanying drawings, wherein like reference numeralsrefer to like elements throughout.

Various alterations and modifications may be made to the examples. Here,the examples are not construed as limited to the disclosure and shouldbe understood to include all changes, equivalents, and replacementswithin the idea and the technical scope of the disclosure.

The terminology used herein is for the purpose of describing particularexamples only and is not to be limiting of the examples. As used herein,the singular forms “a”, “an”, and “the” are intended to include theplural forms as well, unless the context clearly indicates otherwise. Itwill be further understood that the terms “include/comprise” and/or“have” when used in this specification, specify the presence of statedfeatures, integers, steps, operations, elements, components, and/orcombinations thereof, but do not preclude the presence or addition ofone or more other features, numbers, steps, operations, elements,components, and/or groups thereof.

Unless otherwise defined, all terms including technical and scientificterms used herein have the same meaning as commonly understood by one ofordinary skill in the art to which examples belong. It will be furtherunderstood that terms, such as those defined in commonly-useddictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the relevant art andwill not be interpreted in an idealized or overly formal sense unlessexpressly so defined herein.

When describing the examples with reference to the accompanyingdrawings, like reference numerals refer to like constituent elements anda repeated description related thereto will be omitted. When it isdetermined detailed description related to a related known function orconfiguration they may make the purpose of the examples unnecessarilyambiguous in describing the examples, the detailed description will beomitted here.

FIG. 1 is a diagram illustrating a viewing of a three-dimensional (3D)video using both eyes of a user according to at least one exampleembodiment.

An apparatus 100 for displaying a 3D video may detect positions of aleft eye 110 and a right eye 120 of a user viewing a video, and enablethe user to sense a 3D effect by displaying respective videos at thedetected positions.

In an example, the apparatus 100 may generate respective stereo imagesfor the left eye 110 and the right eye 120 of the user. The apparatus100 may render the 3D image using the generated stereo images. Theapparatus 100 may display the 3D video using a plurality of rendered 3Dimages.

In another example, when images input or received are stereo images, theapparatus 100 may render a 3D image using the stereo images. Theapparatus 100 may display a 3D video using a plurality of 3D images.

According to at least one example embodiment, when frames or images of avideo to be displayed are obtained, the apparatus 100 may detectpositions of both eyes of a user. When the positions of both eyes ofuser are detected, the apparatus 100 may generate stereo images based onthe detected positions of both eyes and the obtained images. When thestereo images are generated, the apparatus 100 may render a 3D imageusing the detected positions of both eyes and the generated stereoimages.

Accordingly, the apparatus 100 may perform a subsequent operation (e.g.,a rendering operation) when a previous operation (e.g., an eye trackingoperation) is performed. The 3D image generating method may be asynchronous method.

In a synchronous 3D image generating method, a time required for eachoperation may be accumulated. When the positions of both eyes of userare changed, the synchronous 3D image generating method is unable toreflect the change, thereby deteriorating an image quality of the 3Dvideo to be displayed. For example, the deterioration in image qualitymay be due to crosstalk.

As still another example, the apparatus 100 may asynchronously detectpositions of both eyes, generate stereo images, and render a 3D image.

When the detecting, the generating, and the rendering are asynchronouslyperformed, accumulated time delay may be reduced (or alternatively,prevented). Since there is no time delay, even when the positions ofboth eyes of the user are changed, deterioration of the image quality ofthe 3D video may be mitigated (or alternatively, prevented).

An asynchronous 3D image generating method will be described in detailwith reference to FIGS. 2 through 7.

FIG. 2 is a block diagram illustrating a configuration of a 3D imagegenerating apparatus according to at least one example embodiment.

Hereinafter, a 3D image generating apparatus 100 may be simply referredto as an apparatus 100.

The apparatus 100 may include an image receiver 210, an eye tracker 220,a stereo image generator 230, a renderer 240, and a displayer 250. Oneor more of these elements may be implemented by, for example, one ormore special purpose processors.

The image receiver 210 may receive a basic image of a 3D video to bedisplayed.

In an example, the image receiver 210 may receive respective frames of atwo-dimensional (2D) video as the basic image. In another example, theimage receiver 210 may receive a 3D graphics file or computer graphicsmetafile.

The eye tracker 220 may detect positions of both eyes of a user.

The stereo image generator 230 may generate stereo images based on thebasic image and the positions of both eyes of the user.

The renderer 240 may generate a 3D image based on the stereo images andthe positions of both eyes of the user.

The displayer 250 may display a 3D video based on the 3D image.

The image receiver 210, the eye tracker 220, the stereo image generator230, the renderer 240, and the displayer 250 will be described in detailwith reference to FIGS. 3 through 7. A 3D image generating method withreference to FIGS. 3 through 7 are descriptions of asynchronous method.

FIG. 3 is a flowchart illustrating a 3D image generating methodaccording to at least one example embodiment.

In operation 310, the eye tracker 220 may detect an eye position of auser viewing the apparatus 100. As used herein, an eye may refer to botheyes of a user.

For example, the eye tracker 220 may photograph the user using a camera.The eye tracker 220 may detect the eye position of the user using thephotographed image of the user.

The eye tracker 220 may photograph the user at a photographing cycle(e.g., a maximum photographing cycle) of the camera.

The eye tracker 220 may detect the eye position at a first cycle. Thefirst cycle may be the maximum photographing cycle of the camera.

In another example, the eye tracker 220 may release a ray to the eyes ofuser. The eye tracker 220 may detect the eye position of user using theray reflected from the eyes.

The eye tracker 220 may store the detected eye position of user.

In operation 320, the stereo image generator 230 may generate respectivestereo images of both eyes based on an eye position of the user detectedin advance.

The eye position of the user detected in advance may be a recentlystored eye position (e.g., a most recently stored eye position).

The stereo image generator 230 may use the recently stored eye positionof user detected in advance.

The stereo image generator 230 may generate the respective stereo imagesbased on the eye position of the user detected in advance and a receivedimage.

The received image may be an image which is the most recently received.

The stereo image generator 230 may update the stereo images bygenerating the stereo images in lieu of operation 330 of rendering a 3Dimage.

The stereo image generator 230 may store the generated stereo images.

The stereo image generator 230 may generate respective stereo images ata second cycle.

The first cycle may be different from the second cycle. The first cycleand the second cycle may be asynchronized. The stereo image generator230 may include different operation cycles based on types of contents tobe displayed. In an example, when an image is displayed, the stereoimage generator 230 may be operated once. In another example, when avideo is displayed, the stereo image generator 230 may set an operationcycle based on a frame rate of the video. As still another example, whena graphics image is displayed, the stereo image generator 230 may set acycle based on a rendering speed of the graphics image. The graphicsimage may be an image including 3D information.

According to at least one example embodiment, operation 320 may be anoperation of receiving stereo images. The stereo image generator 230 mayreceive stereo images generated in advance. The stereo image generator230 may generate the stereo images by receiving the stereo imagesgenerated in advance.

For example, the stereo image generator 230 may receive the stereoimages from a camera generating stereo images. A plurality of camerasmay be provided.

When the stereo images generated in advance are received, the secondcycle may be a cycle at which the stereo image generator 230 receivesstereo images.

In operation 330, the renderer 240 may render a 3D image based on an eyeposition of the user detected in advance and at least one of stereoimages generated in advance.

The eye position detected in advance may be a recently stored eyeposition.

The stereo images generated in advance may be recently stored stereoimages.

The renderer 240 may render a 3D image at a third cycle. The third cyclemay be different from the first and the second cycles. The third cyclemay be asynchronized with the first and the second cycles.

Operations 310, 320, and 330 may be performed in parallel.

Since operations 320 and 330 are performed in parallel, operation 330may be performed when operation 310 is performed and an eye position ofa user is updated, even when stereo images are not updated becauseoperation 320 is not performed. When the detected eye position of useris updated and differs from a desired (or alternatively, predetermined)eye position, the renderer 240 may render a 3D image based on theupdated eye position of user.

For example, when the second cycle at which stereo images are receivedor generated is longer than the first and the third cycles, operations310 and 330 may be performed even when operation 320 is not performed.In this example, in operation 330, the renderer 240 may render a new 3Dimage based on the updated eye position of user and desired (oralternatively, predetermined) stereo images.

FIG. 4 illustrates a time flow of performing an asynchronous 3D imagegenerating method according to at least one example embodiment.

A cycle of eye tracking operation 410 may be referred to as a cycle atwhich the aforementioned operation 310 is performed. It should beappreciated that FIG. 4 shows how the operations of FIG. 3 are performedin parallel.

The eye tracker 220 may photograph a user using a camera and detect aneye position of the user using the photographed image. For example, theeye tracker 220 may detect the eye position of user at processingsections of E1 and E2 of eye tracking operation 410, using thephotographed image.

When the processing sections of E1 and E2 conclude, the eye tracker 220may update the eye position of user. The eye tracker 220 may update theeye position of user by storing the detected eye position of user. Theeye tracker 220 may update the eye position of user by storing thedetected eye position of user.

For example, an eye position may be updated at conclusion 411 of theprocessing section of E1 and conclusion 412 of the processing section ofE2.

A cycle of stereo image generating operation 420 may be referred to as acycle at which the aforementioned operation 320 is performed.

For example, the stereo image generator 230 may consecutively generatestereo images. Concisely, the stereo image generator 230 mayconsecutively generate the stereo images for processing sections of S1,S2, S3, S4, and S5.

The stereo image generator 230 may update the stereo images by storingthe generated stereo images.

In an example, the stereo image generator 230 may generate stereo imagesat the processing section of S1, based on an eye position of a userupdated at a processing section of E0 (not shown). At the processingsection of S2, since the processing section of E1 is ongoing, the stereoimage generator 230 may generate stereo images based on a desired (oralternatively, predetermined) eye position of the user. At theprocessing section of S3, the stereo image generator 230 may generatestereo images based on an eye position of the user updated at theprocessing section of E1.

A cycle of 3D image rendering operation 430 may be a cycle at which theaforementioned operation 330 is performed.

The renderer 240 may render a 3D image based on the recently updated eyeposition and at least one of the most recently generated stereo images.

For example, the renderer 240 may consecutively render a 3D image.Concisely, the renderer 240 may consecutively render a 3D image atprocessing sections of R1 through R10.

For example, at the processing section of R2, since a processing of E1and S1 is ongoing, the renderer 240 may render a 3D image based on dataof E0 and S0. At the processing section of R3, the renderer 240 mayrender a 3D image based on data associated with E1 and S1. At theprocessing section of R5, the renderer 240 may render a 3D image basedon data associated with E1 and S2.

Since an eye position and stereo images received by an input at theprocessing section of R3 are updated, a 3D image generated based on aprocessing result of R3 may be different from a 3D image generated basedon a processing result of R2. When the generated 3D image is differentfrom the previous 3D image, the 3D image may be updated.

When the 3D image is updated, an image of video to be output to thedisplayer 250 may be changed.

Reference is made to an input at a processing section of the renderer240 when at least one of the detected eye position and the generatedstereo images are updated. When the detected eye position and at leastone of the generated stereo images are updated, the generated 3D imagemay be different from the 3D image generated at the previous processingsection. In this case, the renderer 240 may update a 3D image.

For example, at processing sections of R3, R5, and R8, the renderer 240may render a 3D image based on an updated eye position.

FIG. 5 is a flowchart illustrating a method of generating stereo imagesaccording to at least one example embodiment.

The aforementioned operation 320 may include operations 510 and 520.

In operation 510, the stereo image generator 230 may estimate a currenteye position based on a stored eye position of a user.

For example, the stereo image generator 230 may estimate the current eyeposition based on a plurality of detected eye positions (e.g.,previously detected eye positions). The stereo image generator 230 maygenerate a speed vector of an eye position. The stereo image generator230 may estimate the current eye position based on the speed vector. Forexample, the stereo image generator 230 may calculate a speed vector ofnumerous detected eye positions, and estimate the current eye positionbased on the speed vector.

In another example, the stereo image generator 230 may estimate acurrent eye position using a Kalman filter.

In operation 520, the stereo image generator 230 may generate stereoimages based on the estimated current eye position.

FIG. 6 is a flowchart illustrating a 3D image generating methodaccording to at least one example embodiment.

The aforementioned operation 330 may include operations 610 and 620.

In operation 610, the renderer 240 may estimate a current eye positionbased on a stored eye position (e.g., a previously detected eyeposition) of a user.

For example, the renderer 240 may estimate a current eye position basedon a plurality of detected eye positions (e.g., a plurality ofpreviously detected eye positions). The renderer 240 may generate amotion vector of an eye position. The renderer 240 may estimate thecurrent eye position based on the motion vector.

In operation 620, the renderer 240 may render a 3D image based on theestimated current eye position and stereo images generated in advance.

FIG. 7 is a flowchart illustrating a 3D image generating methodaccording to at least one example embodiment.

In operation 710, the image generator 210 may receive an image.

Operation 710 may be performed in parallel with operations 310, 320, and330 of FIG. 3.

Operation 320 may include operations 722 through 728 detailed in thefollowing.

In operation 722, the stereo image generator 230 may detect a receivedframe or a foreground of an image.

In operation 724, the stereo image generator 230 may calculate a motionvector of the detected foreground. The stereo image generator 230 maycalculate the motion vector of the foreground based on a plurality offrames or images.

In operation 726, the stereo image generator 230 may estimate a currentposition of the foreground based on the motion vector.

In operation 728, the stereo image generator 230 may generate stereoimages based on the estimated current position of the foreground.

The units and/or modules described herein may be implemented usinghardware components and software components. For example, the hardwarecomponents may include microphones, amplifiers, band-pass filters, audioto digital convertors, and processing devices. A processing device maybe implemented using one or more hardware device configured to carry outand/or execute program code by performing arithmetical, logical, andinput/output operations. The processing device(s) may include aprocessor (i.e., a special purpose processor), a controller and anarithmetic logic unit, a digital signal processor, a microcomputer, afield programmable array, a programmable logic unit, a microprocessor orany other device capable of responding to and executing instructions ina defined manner. The processing device may run an operating system (OS)and one or more software applications that run on the OS. The processingdevice also may access, store, manipulate, process, and create data inresponse to execution of the software. For purpose of simplicity, thedescription of a processing device is used as singular; however, oneskilled in the art will appreciated that a processing device may includemultiple processing elements and multiple types of processing elements.For example, a processing device may include multiple processors or aprocessor and a controller. In addition, different processingconfigurations are possible, such a parallel processors.

The software may include a computer program, a piece of code, aninstruction, or some combination thereof, to independently orcollectively instruct and/or configure the processing device to operateas desired, thereby transforming the processing device into a specialpurpose processor. Software and data may be embodied permanently ortemporarily in any type of machine, component, physical or virtualequipment, computer storage medium or device, or in a propagated signalwave capable of providing instructions or data to or being interpretedby the processing device. The software also may be distributed overnetwork coupled computer systems so that the software is stored andexecuted in a distributed fashion. The software and data may be storedby one or more non-transitory computer readable recording mediums.

The methods according to the above-described example embodiments may berecorded in non-transitory computer-readable media including programinstructions to implement various operations of the above-describedexample embodiments. The media may also include, alone or in combinationwith the program instructions, data files, data structures, and thelike. The program instructions recorded on the media may be thosespecially designed and constructed for the purposes of exampleembodiments, or they may be of the kind well-known and available tothose having skill in the computer software arts. Examples ofnon-transitory computer-readable media include magnetic media such ashard disks, floppy disks, and magnetic tape; optical media such asCD-ROM discs, DVDs, and/or Blue-ray discs; magneto-optical media such asoptical discs; and hardware devices that are specially configured tostore and perform program instructions, such as read-only memory (ROM),random access memory (RAM), flash memory (e.g., USB flash drives, memorycards, memory sticks, etc.), and the like. Examples of programinstructions include both machine code, such as produced by a compiler,and files containing higher level code that may be executed by thecomputer using an interpreter. The above-described devices may beconfigured to act as one or more software modules in order to performthe operations of the above-described example embodiments, or viceversa.

A number of example embodiments have been described above. Nevertheless,it should be understood that various modifications may be made to theseexample embodiments. For example, suitable results may be achieved ifthe described techniques are performed in a different order and/or ifcomponents in a described system, architecture, device, or circuit arecombined in a different manner and/or replaced or supplemented by othercomponents or their equivalents. Accordingly, other implementations arewithin the scope of the following claims.

What is claimed is:
 1. A method of generating a three-dimensional (3D)image, the method comprising: detecting a current eye position of auser; and rendering a 3D image based on at least one of a previouslydetected eye position of the user and previously generated stereoimages, the detecting and the rendering being performed in parallel. 2.The method of claim 1, wherein a cycle of the detecting and a cycle ofthe rendering are asynchronous.
 3. The method of claim 1, wherein thedetecting comprises: photographing the user using a camera; anddetecting the current eye position of the user using the photographedimage of the user.
 4. The method of claim 1, wherein the renderingcomprises: estimating the current eye position based on the previouslydetected eye position of the user; and rendering the 3D image based onthe estimated current eye position and the previously generated stereoimages.
 5. The method of claim 1, further comprising: generatingrespective stereo images for both eyes of the user based on thepreviously detected eye position of the user.
 6. The method of claim 5,wherein the generating comprises: estimating the current eye positionbased on the previously detected eye position of the user; andgenerating the respective stereo images based on the estimated currenteye position.
 7. The method of claim 6, wherein the estimatingcomprises: calculating a speed vector of a plurality of previouslydetected eye positions; and estimating the current eye position based onthe speed vector.
 8. The method of claim 5, wherein the generatingcomprises different operation cycles based on types of contents to bedisplayed.
 9. The method of claim 5, further comprising: receiving animage, wherein the generating comprises generating the stereo imagesusing the image.
 10. The method of claim 9, wherein the generatingcomprises: detecting a foreground of the image; calculating a motionvector of the detected foreground; estimating a current position of theforeground in the image based on the calculated motion vector; andgenerating the stereo images based on the estimated current position.11. The method of claim 5, wherein the generating respective stereoimages comprises receiving the previously generated stereo images. 12.An apparatus for generating a three-dimensional (3D) image, theapparatus comprising: an eye tracker configured to detect a current eyeposition of a user; and a renderer configured to render a 3D image basedon at least one of a previously detected eye position of the userdetected and previously generated stereo images, the eye tracker and therenderer being configured to detect and render in parallel.
 13. Theapparatus of claim 12, wherein a cycle at which the eye tracker operatesand a cycle at which the renderer operates are asynchronous.
 14. Theapparatus of claim 12, further comprising: a stereo image generatorconfigured to generate respective stereo images of both eyes of the userbased on the previously detected eye position.
 15. The apparatus ofclaim 14, wherein the stereo image generator is configured to estimatethe current eye position based on the previously detected eye positionof the user, and generate the respective stereo images based on theestimated current eye position.
 16. The apparatus of claim 15, whereinthe stereo image generator is configured to calculate a speed vector ofa plurality of previously detected eye positions, and estimate thecurrent eye position based on the speed vector.
 17. The apparatus ofclaim 15, wherein the stereo image generator is configured to performdifferent operation cycles based on types of contents to be displayed.18. The apparatus of claim 15, further comprising: an image receiverconfigured to receive an image, wherein the stereo image generator isconfigured to generate the stereo images using the image.
 19. Theapparatus of claim 15, wherein the stereo image generator is configuredto detect a foreground of the image, calculate a motion vector of thedetected foreground, estimate a current position of the foreground inthe image based on the calculated motion vector, and generate the stereoimages based on the estimated current position.